package com.sisbibvir.unmsm.services;

import java.util.List;

import com.sisbibvir.unmsm.dao.JPAUtil;
import com.sisbibvir.unmsm.dao.LineaInvestigacionDAO;
import com.sisbibvir.unmsm.dao.PropuestaDAO;
import com.sisbibvir.unmsm.dao.Tag_TesisDAO;
import com.sisbibvir.unmsm.entidades.LineaDeInvestigacion;
import com.sisbibvir.unmsm.entidades.Propuesta;
import com.sisbibvir.unmsm.entidades.TagsTesi;



public class PropuestaService {

	// Objetos DAO
	private JPAUtil objJpaUtil;
	private PropuestaDAO objPropuestaTesisDao;
	private LineaInvestigacionDAO objLineaInvestigacionDao;
	private Tag_TesisDAO objTagsTesisDao;

	// Objetos normales
	private Propuesta objPropuestaTesis;
	private LineaDeInvestigacion objLineaInvestigacion;
	private List<LineaDeInvestigacion> arrLineaInvestigacion;
	private TagsTesi objTagsTesis;

	public PropuestaService() {
		objJpaUtil = new JPAUtil();
		objPropuestaTesisDao = new PropuestaDAO(objJpaUtil.getEntityManager());
		objLineaInvestigacionDao = new LineaInvestigacionDAO(
				objJpaUtil.getEntityManager());
		objTagsTesisDao = new Tag_TesisDAO(objJpaUtil.getEntityManager());

		objPropuestaTesis = new Propuesta();
		objLineaInvestigacion = new LineaDeInvestigacion();
		objTagsTesis = new TagsTesi();
		arrLineaInvestigacion = objLineaInvestigacionDao.ListarBusqueda("");

	}

	public void ObtenerCodigoGenerado() {
		objPropuestaTesis.setId(objPropuestaTesisDao.GenerarCodigo());
	}

	public void CrearNuevaTesis(Propuesta tesis, LineaDeInvestigacion linea) {
		// DO SOMETHING
	}

	public JPAUtil getObjJpaUtil() {
		return objJpaUtil;
	}

	public void setObjJpaUtil(JPAUtil objJpaUtil) {
		this.objJpaUtil = objJpaUtil;
	}

	public PropuestaDAO getObjTesisDao() {
		return objPropuestaTesisDao;
	}

	public void setObjTesisDao(PropuestaDAO objTesisDao) {
		this.objPropuestaTesisDao = objTesisDao;
	}

	public LineaInvestigacionDAO getObjLineaInvestigacionDao() {
		return objLineaInvestigacionDao;
	}

	public void setObjLineaInvestigacionDao(
			LineaInvestigacionDAO objLineaInvestigacionDao) {
		this.objLineaInvestigacionDao = objLineaInvestigacionDao;
	}

	public Propuesta getObjTesis() {
		return objPropuestaTesis;
	}

	public void setObjTesis(Propuesta objTesis) {
		this.objPropuestaTesis = objTesis;
	}

	public LineaDeInvestigacion getObjLineaInvestigacion() {
		return objLineaInvestigacion;
	}

	public void setObjLineaInvestigacion(
			LineaDeInvestigacion objLineaInvestigacion) {
		this.objLineaInvestigacion = objLineaInvestigacion;
	}

	public List<LineaDeInvestigacion> getArrLineaInvestigacion() {
		return arrLineaInvestigacion;
	}

	public void setArrLineaInvestigacion(
			List<LineaDeInvestigacion> arrLineaInvestigacion) {
		this.arrLineaInvestigacion = arrLineaInvestigacion;
	}

	public Tag_TesisDAO getObjTagsTesisDao() {
		return objTagsTesisDao;
	}

	public void setObjTagsTesisDao(Tag_TesisDAO objTagsTesisDao) {
		this.objTagsTesisDao = objTagsTesisDao;
	}

	public TagsTesi getObjTagsTesis() {
		return objTagsTesis;
	}

	public void setObjTagsTesis(TagsTesi objTagsTesis) {
		this.objTagsTesis = objTagsTesis;
	}
}
